package network;
import java.util.Vector;

import network.dataFormats.NetworkData;
/**
 * An (abstract) class that needs to provide methods for sending and receiving NetworkPackages
 * 
 * @author toni
 * 
 */
public abstract class RSocket {
	/**
	 * Send data across the socket (secure)
	 * 
	 * @param outgoing
	 *            data to send
	 */
	public abstract void sendData(Vector<NetworkData> outgoing);
	/**
	 * Return all data that has been sent to the socket.
	 * 
	 * @param clientid
	 *            id of client
	 * @param outgoing
	 *            data to send
	 */
	public abstract Vector<NetworkData> popData();
	/**
	 * Send data across the socket (unsecure)
	 * 
	 * @param outgoing
	 *            data to send
	 */
	public abstract void sendUnsecure(Vector<NetworkData> outgoingFast);
}
